1. Field of the Invention
The present invention relates to the field of pattern creation and more particularly to pattern solution creation and reuse.
2. Description of the Related Art
Patterns describe a problem and a general solution for the problem in a particular context. Patterns have been formalized by some as a three-part rule which expresses a relation between a certain context, a problem and a solution. Patterns are useful in addressing recurring design problem/solution pairs. Pattern development has its history in the study of architecture where Christopher Alexander, author of Alexander et al., A Pattern Language: Towns, Buildings, Construction, Center for Environmental Structure Series (1977), describes patterns for solving recurring problems in urban architectural design.
In the computing field, patterns have been used to aid the software development process. The seminal text, Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns—Elements of Reusable Object-Oriented Software, Addison-Welsey (1996) defines creation patterns, structural patterns and behavioral patterns for software development. Additionally, the well-known text, Deepak Alur, John Crupi and Dan Malks, Core J2EE Patterns—Best Practices and Design Strategies, Sun Microsystems Press (2001) describes patterns useful in the Java programming environment.
Patterns have been collected into catalogs. Patterns have also been combined to form pattern languages that define a set of reserved words (a language) for expressing a solution to a problem. Pattern languages in the computer field focus mainly on software design and software development. Pattern usage for other aspects of the software life cycle, including application infrastructure, application deployment, and business process integration, have largely been ignored. In all circumstances, pattern languages lack organization, ordering and substitution of combined patterns.